607A - Chain Reaction - CodeForces Solution


binary search dp *1600

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;

int pos[100010], power[1000010];
int aux[100010];
int d[100010];

int main(){
    int n; scanf("%d", &n);
    for(int i = 0;i < n;i++){
        int a,b; scanf("%d %d", &a, &b);
        pos[i] = a;
        //power[pos[i]] = b;
        power[a] = b;
    }
    sort(pos, pos + n);
    aux[0] = 0;
    for(int i = 1;i < n;i++){
        int id = lower_bound(pos,pos + n, pos[i] - power[pos[i]]) - pos;
        aux[i] = i - id;
    }
    
    for(int i = 1;i < n;i++){
        int id = lower_bound(pos, pos + n, pos[i] - power[pos[i]]) - pos;
        d[i] = d[id - 1] + aux[i];
    }
    int resp = 100010;
    for(int i = 0;i < n;i++){
        resp = min(resp, (d[i] + n - i - 1) );
    }
    printf("%d", resp);
}


Comments

Submit
0 Comments
More Questions

1702C - Train and Queries
816B - Karen and Coffee
838D - Airplane Arrangements
148B - Escape
847G - University Classes
1110A - Parity
1215B - The Number of Products
604C - Alternative Thinking
1204C - Anna Svyatoslav and Maps
322A - Ciel and Dancing
1689B - Mystic Permutation
1711B - Party
1702D - Not a Cheap String
1714F - Build a Tree and That Is It
1703F - Yet Another Problem About Pairs Satisfying an Inequality
610A - Pasha and Stick
1200A - Hotelier
1091A - New Year and the Christmas Ornament
1352B - Same Parity Summands
1102A - Integer Sequence Dividing
630B - Moore's Law
1004A - Sonya and Hotels
1680B - Robots
1690A - Print a Pedestal (Codeforces logo)
1295A - Display The Number
1077A - Frog Jumping
1714G - Path Prefixes
1369C - RationalLee
289B - Polo the Penguin and Matrix
1716A - 2-3 Moves